package org.dreamfly.core.service;

import org.dreamfly.core.bean.SzModel;
import org.dreamfly.core.page.PageResultSet;

import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: Gin
 * Date: 2010-10-10
 * Time: 0:58:41
 * To change this template use File | Settings | File Templates.
 */
public interface ModelService {
    /**
     * 添加模型到数据库
     * @param model 模型对象
     */
    void saveOrUpdate(SzModel model);
    
    /**
     * 删除模型
     * @param id
     */
    void delete(Long id);
    
    /**
     * 关键字搜索
     * @param model 含有搜索信息的模型对象
     * @param serverName TODO
     * @return 包含结果集和分页信息的数据集
     */
	PageResultSet<SzModel> normalSearch(SzModel model, Long pageSize, Long page, String serverName);
	
	/**
     * 按照类型关键字搜索
     *
     * @param model 含有搜索信息的模型对象
     * @param serverName
     * @return 包含结果集和分页信息的数据集
     */
	PageResultSet<SzModel> normalSearchByType(List<Long> typeIds, SzModel model, Long pageSize, Long page, String serverName);
	
	/**
	 * 根据id获取模型对象
	 * 
	 */
	SzModel findDetail(Long id);

    /**
     * 完善模型信息
     * @param model
     */
	void addModelInfo(SzModel model);
    void modifyInfo(SzModel model);
}
